使用 Helm 工具
本文介绍如何通过 Helm 命令安装 Zadig,适用于生产环境。
# 资源准备
- Kubernetes 集群,版本 v1.16+,推荐 8C16G,需管理员权限
Zadig 本身消耗 4C8G,可支撑并发执行两条工作流任务
- Helm 工具,版本 v3.5+,下载地址(opens new window)
- 网络要求:
- 使用
IP+端口访问时,需保证集群节点有外部 IP - 使用域名访问时,需准备可用域名,并将流量解析至 gateway-proxy 服务
- 使用
注意事项
- 如需使用内置存储组件(MySQL/MongoDB/MinIO),请提前配置 Kubernetes 默认 StorageClass 以支持 PVC 持久化
- 部分集群网络插件可能导致 Service 后端 Pod 无法自访问,请提前验证
- 配置 kube-dns 服务,确保服务和 Pod 可按名称寻址
# 安装
使用官方安装小助手(opens new window)一键快速安装。详细参数说明参考 Chart 参数列表
安装耗时受硬件和网络影响。可通过
kubectl -n {Namespace} get pod查询服务状态,全部 RUNNING 即为部署成功。
提示
许可证获取与配置详见:许可证
# 升级
升级 Zadig,请参考以下操作:
# 步骤 1:确认版本信息
- 请确认当前安装的 Zadig 版本,并确定要升级的目标版本。
- 请勿跨版本升级,若当前版本与目标版本之间存在多个版本,请逐版本操作。
可以通过命令 helm list -n {Namespace} 获取当前 Zadig 的版本信息。
# 步骤 2:备份数据以及安装参数
- 参考 备份数据进行数据备份。
- 通过命令 helm get values -n {Namespace} {ReleaseName} > zadig.yaml 备份当前的安装参数。
# 步骤 3:执行升级
- 升级时请勿使用 Zadig
- 执行以下命令升级 Zadig:
helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart
helm repo update
helm upgrade {releaseName} -n {Namespace} --version=3.4.1 koderover-chart/zadig -f zadig.yaml
1
2
3
2
3
# 步骤 4:升级检查
检查以下功能是否正常,对此次升级做验收:
- 检查账号系统是否可以正常登录。
- 检查项目/环境/服务/系统集成的数据是否正常。
- 检查验收项目中的环境、服务数据是否展示正常。
- 检查验收项目中的产品/自定义工作流(若有)是否可正常运行。
# 卸载
- 卸载 Zadig 时,不会删除通过 Zadig 创建的环境,服务等资源;若您需要清理资源,请手动操作。
- 执行以下命令卸载 Zadig
helm uninstall {ReleaseName} -n {Namepsace}
1
# Zadig Chart 参数列表
Zadig Chart 除了 Zadig 系统外,还内置了一些必要的组件 MySQL、MongoDB、MinIO,可以根据你的安装环境实际情况选择是否安装这些组件
# Gateway Proxy 参数列表
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| gloo.gatewayProxies.gatewayProxy.service.type | Gateway Proxy 服务的暴露方式,可选项为 LoadBalancer、NodePort、ClusterIP | LoadBalancer | LoadBalancer |
# MongoDB 参数列表
- MongoDB 连接参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| connections.mongodb.connectionString | MongoDB 连接串 | mongodb://root:zadig@kr-mongodb:27017 | mongodb://root:zadig@kr-mongodb:27017 |
| connections.mongodb.db | Zadig 所使用的 MongoDB 的 DB | zadig | zadig |
| ee.mongodb.enableTransaction | 是否启用事务功能,事务实际是否生效依赖于 MongoDB 版本以及安装方式,请参考 MongoDB 官方文档获取更多信息 | false | false |
| ee.mongodb.db | Zadig 交付部署组件所使用的 DB,不可与 connections.mongodb.db 值相同 | plutus_zadig | plutus_zadig |
- 内置 MongoDB 安装参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| tags.mongodb | 是否安装内置的 MongoDB | true | true |
| mongodb.persistence.enabled | MongoDB 持久化开关 | true | true |
| mongodb.persistence.size | MongoDB 的存储空间大小 | 20 Gi | 20 Gi |
| mongodb.rootPassword | 内置 MongoDB 的 root 用户密码 | zadig | nil |
| mongodb.persistence.existingClaim | 如果安装的 MongoDB 需要使用已经存在的 PVC,使用这个字段指定 Claim Name | myclaim | nil |
- 不安装内置的 MongoDB
如果你有自己的 MongoDB,可以选择不安装内置的 MongoDB,版本要求 4.4 及以上,具体配置参数如下。
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| tags.mongodb | 是否安装内置的 MongoDB | false | true |
| connections.mongodb.connectionString | Zadig 系统业务数据库连接串,配置多个地址时需要进行转义 | mongodb://user:password @8.10.20.20\,8.10.20.30 | mongodb://zadig-mongodb:27017 |
| connections.mongodb.db | Zadig 系统使用的默认 DB | zadig | zadig |
| ee.mongodb.db | Zadig 交付部署组件所使用的 DB,不可与 connections.mongodb.db 的值相同 | plutus_zadig | plutus_zadig |
# MinIO 参数列表
提示
如果有自己的 S3 对象存储,可以选择不安装 MinIO。在 Zadig 安装完后进入系统配置即可,配置过程详见对象存储。
- 内置 MinIO 安装参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| tags.minio | 是否安装内置的 MinIO | true | true |
| minio.persistence.enabled | MinIO 对象存储持久化开关 | true | true |
| minio.persistence.size | MinIO 的存储空间大小 | 20 Gi | 20 Gi |
| minio.persistence.storageClass | MinIO 的 PVC 使用的 Storage Class,如果开启持久化的情况下,不提供 Storage Class 和 existingClaim,将使用集群默认的 Storage class。 在此情况下,如果集群没有默认的 Storage Class, 安装将会失败。 | storage_class | nil |
| minio.persistence.existingClaim | 如果安装的 MinIO 需要使用已经存在的 PVC,使用这个字段指定 Claim Name | my_pvc | nil |
# MySQL 参数列表
- MySQL 连接参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| connections.mysql.host | MySQL连接信息 | kr-mysql:3306 | kr-mysql:3306 |
| connections.mysql.auth.user | MySQL 用户名 | root | root |
| connections.mysql.auth.password | MySQL 密码 | zadig | zadig |
| connections.mysql.db.user | Zadig 用户系统使用的 DB | user | user |
| connections.mysql.db.dex | Zadig 第三方连接器 Dex 使用的 DB | dex | dex |
| dex.config.storage.config.database | Dex 系统所使用的 DB,和 connections.mysql.db.dex 的值保持一致 | dex | dex |
| dex.config.storage.config.host | Dex 系统所使用的 MySQL Host | zadig-mysql | zadig-mysql |
| dex.config.storage.config.port | Dex 系统所使用的 MySQL 端口 | 3306 | 3306 |
| dex.config.storage.config.user | Dex 系统所使用的 MySQL 用户名 | root | root |
| dex.config.storage.config.password | Dex 系统所使用的 MySQL 密码 | zadig | zadig |
- 内置 MySQL 安装参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| tags.mysql | 是否安装内置 MySQL | true | true |
| mysql.rootPassword | MySQL 密码 | zadig | zadig |
| mysql.persistence.enabled | 是否开启持久化存储 | true | true |
| mysql.persistence.size | 持久化存储 PVC 的大小 | 20Gi | 20Gi |
如果自己提供 MySQL
在安装 Zadig 系统之前,请手动创建 connections.mysql.db.dex 所指定的 Database,以确保 Zadig 系统的正常安装
# 其他参数
| Key | 说明 | Value 示例 | 默认值 |
|---|---|---|---|
| kubernetes.server | Zadig 安装集群的 Kubernetes API Server 地址 | https://10.0.0.1:6443 | nil |
| gloo.k8s.clusterName | 安装 Zadig 的集群名称,若修改过集群名称,需要设置此参数 | cluster.local | cluster.local |
| protocol | 访问 Zaidg 系统使用的具体协议 | https | http |


